ViPEr, a Visual Programming Environment for Python

نویسنده

  • Michel F. Sanner
چکیده

In this paper we describe a Pythonand Tkinter-based visual-programming environment called ViPEr. This tool enables non-programmers to build computational and visualization networks interactively. Computational nodes can be placed onto a canvas and their input and output ports can be connected using the mouse. The connections between the nodes define a directed graph that will be used to propagate data and trigger the execution of nodes that have new input data. ViPEr is, in appearance, similar to programs such as AVS [Upson et al. 89] from Advanced Visual Simulations Inc, or OpenDX [DX 93] from IBM, but presents some fundamental differences which will be pointed out throughout this paper. Several examples of applications will be used to illustrate ViPEr’s design and current range of capabilities. I Background and significance The focus of our laboratory is the modelisation of molecular interactions. We are working on several aspects of this problem, including molecular visualization, protein-ligand docking, proteinprotein docking, molecular surfaces, phenomenological potentials, etc. The methods we use in our models come from fields as diverse as computational chemistry and biology, computational geometry and augmented reality. We have been using Python as a platform to develop re-usable and interoperable components dealing with different aspects of structural bioinformatics [Sanner 99a, Coon et al. 01, Python at TSRI]. These components are the basic building blocks from which several domain specific applications have been developed. These include a generic molecule visualization program (PMV [Sanner 99a, Coon et al. 01]), a viewer for volumetric data (PVV) and a graphical user interface to our molecular docking program AutoDock [Coon et al. 01]. These applications have demonstrated a great deal of flexibility, extensibility and code re-use and have been distributed to over 200 laboratories around the world. They all expose the underlying Python interpreter, providing a fully-fledged programming language to operate, both over the data structures in the application, and the application itself. However, we have found that this capability is seldomly used, because it requires learning the Python programming language and becoming familiar with the data-structures used in the applications. This is often beyond the level of investment a typical user is willing to make. On the other hand, we realize that it is impossible to anticipate all uses and combinations of the components that we have developed, or to implement all possible commands users are ever going to want. To address this problem we developed a visual programming tool that enables nonprogrammers to intuitively and interactively build networks describing new computational streams and novel visualizations of their data, without having to write code or understand the details of the application’s data structures. This development was partly motivated by our previous experience with the data-flow environment AVS [Upson et al. 89] that has been used successfully in our laboratory for over 10 years [Macke et al. 98]. AVS provides an environment in which components (also called modules) are connected to create a computational pipeline. It is comprised of a large number of processing modules for a wide variety of operations. Custom modules can be added to extend the environment with new computational methods. The modular nature of AVS provides a good level of code re-use as modules, once written, can be shared with other AVS users. Moreover, its modular nature fosters the compartmentalization of computational tasks. However, we also experienced some serious limitations, which prompted us to gradually develop our own Python-based set of components to deal with our visualization needs.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

An interactive, graphical coding environment for EarSketch online using Blockly and Web Audio API

This paper presents an interactive graphical programming environment for EarSketch, using Blockly and Web Audio API. This visual programming element sidesteps syntactical challenges common to learning text-based languages, thereby targeting a wider range of users in both informal and academic settings. The implementation allows seamless integration with the existing EarSketch web environment, s...

متن کامل

Integrating Biomolecular Analysis and Visual Programming: Flexibility and Interactivity in the Design of Bioinformatics Tools

One of the challenges in bio-computing is to enable the efficient use of a wide variety of rapidly evolving computational methods to simulate, analyze and understand complex interactions of molecular systems. Our laboratory is interested in the development of novel computational technologies and in the application of these technologies to the analysis and understanding of complex biological sys...

متن کامل

InRaDoS: An internal radiation dosimetry computer program

Introduction: Internal radiation dosimetry is important from a radiation protection point of view and can help to optimize the radiation dose delivered to the workers, public, and patients. It has a rather simple protocol but needs a large amount of data. Therefore, it is difficult to do on a routine basis. The use of computer programs makes internal radiation dosimetry simpler...

متن کامل

VIPER (VIrtuality Programming EnviRonment): A virtual reality applications design platform

In this paper we present a new virtual reality applications design platform, VIPER, which emphasizes distributed aspects of virtual environments. Our goal is to propose the developer a generic system which can be specialized to suit an application, while minimizing his work all along the virtual environment definition. We describe the general structure of an environment in VIPER, and discuss th...

متن کامل

Python Implementation of Visual Secret Sharing Schemes

Visual secret sharing schemes (VSS) represent an important concept of visual cryptography. They permit the sharing of a secret image between multiple participants so that only authorized groups can recover the secret. This paper considers the software implementation of some black-and-white secret images VSS in Python programming language. PIL (Python Imaging Library) provides strong image proce...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2001